Java Layers Compiler Design
نویسندگان
چکیده
This document contains a brief overview of the JL compiler’s design (version 2) [4]. The compiler supports bounded parametric classes and interfaces, mixins, static virtual typing, deep conformance, constructor propagation, and the class flattening optimization. The intent of this document is to provide a basis for an implementation plan, so we provide the detail needed to gauge the development effort and feasibility of our design. The Java Layers home page [5] contains specifications that describe and justify our choice of language features in greater detail. We now describe our high-level design, the rationale used in making design choices, and major implementation tasks required to realize our design.
منابع مشابه
Mixin Layers: An Object-Oriented Implementation Technique for Re nements and Collaboration-Based Designs
A \re nement" is a functionality addition to a software project that can a ect multiple dispersed implementation entities (functions, classes, etc.). In this paper, we examine large-scale re nements in terms of a fundamental object-oriented technique called collaboration-based design. We explain how collaborations can be expressed in existing programming languages or be supported with new langu...
متن کاملFormal Verification of a Java Compiler in Isabelle
This paper reports on the formal proof of correctness of a compiler from a substantial subset of Java source language to Java bytecode in the proof environment Isabelle. This work is based on extensive previous formalizations of Java, which comprise all relevant features of object-orientation. We place particular emphasis on describing the effects of design decisions in these formalizations on ...
متن کاملProducing Network Applications Using Object-Oriented Petri Nets
The programming language Java has become and extremely popular language; many people are writing concurrent systems using Java. The design and implementation of concurrent Java programs is significantly more complex than sequential programs and the use formal method is seen as extremely beneficial for the design and implementation of such systems. The Petri net formalism [Petri 1962] can be use...
متن کاملJava-XCOM Component Integration on Linux Operating System
XCOM system consists of a binary component standard, a software library, and tools that enable programmers to develop component objects with C++ and to use them on Linux operating system. Java programming language is being widely used due to its fully object-oriented programming features, automatic memory management, and platform independency. C-like syntax, strong-type checking and automatic m...
متن کاملDesign by Contract with JML
This document gives a tutorial introduction to the Java Modeling Language (JML), and explains how JML can be used as a powerful design by contract (DBC) tool for Java. JML is a formal behavioral interface specification language for Java that contains the essential notations used in DBC as a subset. The basic concepts of DBC are explained with a particular emphasis on how to use JML notations to...
متن کامل